﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR43Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR43Response {
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR43Response.IDokType> @__dok = new System.Collections.Generic.List<RR43Response.IDokType>();
        
        public RR43Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR43Response(decimal @veakood, string @veatekst, System.Collections.Generic.List<RR43Response.IDokType> @dok) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__dok = @dok;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR43Response(IRR43Response @rR43Response) {
            this.@__veakood = @rR43Response.Veakood;
            this.@__veatekst = @rR43Response.Veatekst;
            this.@__dok = @rR43Response.Dok;
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR43Response.IDokType> Dok {
            get {
                return this.@__dok;
            }
            set {
                this.@__dok = value;
            }
        }
        
        public partial class DokType : IDokType {
            
            private string @__dokIsikIsikukood;
            
            private string @__dokIsikEesnimi;
            
            private string @__dokIsikPerenimi;
            
            private string @__dokIsikStaatus;
            
            private string @__dokDokRoll;
            
            private string @__dokDokIsikukood;
            
            private string @__dokDokEesnimi;
            
            private string @__dokDokPerenimi;
            
            private string @__dokDokVanaEnimi;
            
            private string @__dokDokVanaPerenimi;
            
            private string @__dokDokTyyp;
            
            private string @__dokDokRiik;
            
            private string @__dokDokSeeria;
            
            private string @__dokDokNr;
            
            private string @__dokDokSyndKuup;
            
            private string @__dokDokKehtAlgus;
            
            private string @__dokDokKehtLopp;
            
            private string @__dokDokValjastamisKuup;
            
            private string @__dokDokValjastaja;
            
            private string @__dokDokStaatus;
            
            public DokType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public DokType(
                        string @dokIsikIsikukood, 
                        string @dokIsikEesnimi, 
                        string @dokIsikPerenimi, 
                        string @dokIsikStaatus, 
                        string @dokDokRoll, 
                        string @dokDokIsikukood, 
                        string @dokDokEesnimi, 
                        string @dokDokPerenimi, 
                        string @dokDokVanaEnimi, 
                        string @dokDokVanaPerenimi, 
                        string @dokDokTyyp, 
                        string @dokDokRiik, 
                        string @dokDokSeeria, 
                        string @dokDokNr, 
                        string @dokDokSyndKuup, 
                        string @dokDokKehtAlgus, 
                        string @dokDokKehtLopp, 
                        string @dokDokValjastamisKuup, 
                        string @dokDokValjastaja, 
                        string @dokDokStaatus) {
                this.@__dokIsikIsikukood = @dokIsikIsikukood;
                this.@__dokIsikEesnimi = @dokIsikEesnimi;
                this.@__dokIsikPerenimi = @dokIsikPerenimi;
                this.@__dokIsikStaatus = @dokIsikStaatus;
                this.@__dokDokRoll = @dokDokRoll;
                this.@__dokDokIsikukood = @dokDokIsikukood;
                this.@__dokDokEesnimi = @dokDokEesnimi;
                this.@__dokDokPerenimi = @dokDokPerenimi;
                this.@__dokDokVanaEnimi = @dokDokVanaEnimi;
                this.@__dokDokVanaPerenimi = @dokDokVanaPerenimi;
                this.@__dokDokTyyp = @dokDokTyyp;
                this.@__dokDokRiik = @dokDokRiik;
                this.@__dokDokSeeria = @dokDokSeeria;
                this.@__dokDokNr = @dokDokNr;
                this.@__dokDokSyndKuup = @dokDokSyndKuup;
                this.@__dokDokKehtAlgus = @dokDokKehtAlgus;
                this.@__dokDokKehtLopp = @dokDokKehtLopp;
                this.@__dokDokValjastamisKuup = @dokDokValjastamisKuup;
                this.@__dokDokValjastaja = @dokDokValjastaja;
                this.@__dokDokStaatus = @dokDokStaatus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected DokType(IDokType @dokType) {
                this.@__dokIsikIsikukood = @dokType.DokIsikIsikukood;
                this.@__dokIsikEesnimi = @dokType.DokIsikEesnimi;
                this.@__dokIsikPerenimi = @dokType.DokIsikPerenimi;
                this.@__dokIsikStaatus = @dokType.DokIsikStaatus;
                this.@__dokDokRoll = @dokType.DokDokRoll;
                this.@__dokDokIsikukood = @dokType.DokDokIsikukood;
                this.@__dokDokEesnimi = @dokType.DokDokEesnimi;
                this.@__dokDokPerenimi = @dokType.DokDokPerenimi;
                this.@__dokDokVanaEnimi = @dokType.DokDokVanaEnimi;
                this.@__dokDokVanaPerenimi = @dokType.DokDokVanaPerenimi;
                this.@__dokDokTyyp = @dokType.DokDokTyyp;
                this.@__dokDokRiik = @dokType.DokDokRiik;
                this.@__dokDokSeeria = @dokType.DokDokSeeria;
                this.@__dokDokNr = @dokType.DokDokNr;
                this.@__dokDokSyndKuup = @dokType.DokDokSyndKuup;
                this.@__dokDokKehtAlgus = @dokType.DokDokKehtAlgus;
                this.@__dokDokKehtLopp = @dokType.DokDokKehtLopp;
                this.@__dokDokValjastamisKuup = @dokType.DokDokValjastamisKuup;
                this.@__dokDokValjastaja = @dokType.DokDokValjastaja;
                this.@__dokDokStaatus = @dokType.DokDokStaatus;
            }
            
            public virtual string DokIsikIsikukood {
                get {
                    return this.@__dokIsikIsikukood;
                }
                set {
                    this.@__dokIsikIsikukood = value;
                }
            }
            
            public virtual string DokIsikEesnimi {
                get {
                    return this.@__dokIsikEesnimi;
                }
                set {
                    this.@__dokIsikEesnimi = value;
                }
            }
            
            public virtual string DokIsikPerenimi {
                get {
                    return this.@__dokIsikPerenimi;
                }
                set {
                    this.@__dokIsikPerenimi = value;
                }
            }
            
            public virtual string DokIsikStaatus {
                get {
                    return this.@__dokIsikStaatus;
                }
                set {
                    this.@__dokIsikStaatus = value;
                }
            }
            
            public virtual string DokDokRoll {
                get {
                    return this.@__dokDokRoll;
                }
                set {
                    this.@__dokDokRoll = value;
                }
            }
            
            public virtual string DokDokIsikukood {
                get {
                    return this.@__dokDokIsikukood;
                }
                set {
                    this.@__dokDokIsikukood = value;
                }
            }
            
            public virtual string DokDokEesnimi {
                get {
                    return this.@__dokDokEesnimi;
                }
                set {
                    this.@__dokDokEesnimi = value;
                }
            }
            
            public virtual string DokDokPerenimi {
                get {
                    return this.@__dokDokPerenimi;
                }
                set {
                    this.@__dokDokPerenimi = value;
                }
            }
            
            public virtual string DokDokVanaEnimi {
                get {
                    return this.@__dokDokVanaEnimi;
                }
                set {
                    this.@__dokDokVanaEnimi = value;
                }
            }
            
            public virtual string DokDokVanaPerenimi {
                get {
                    return this.@__dokDokVanaPerenimi;
                }
                set {
                    this.@__dokDokVanaPerenimi = value;
                }
            }
            
            public virtual string DokDokTyyp {
                get {
                    return this.@__dokDokTyyp;
                }
                set {
                    this.@__dokDokTyyp = value;
                }
            }
            
            public virtual string DokDokRiik {
                get {
                    return this.@__dokDokRiik;
                }
                set {
                    this.@__dokDokRiik = value;
                }
            }
            
            public virtual string DokDokSeeria {
                get {
                    return this.@__dokDokSeeria;
                }
                set {
                    this.@__dokDokSeeria = value;
                }
            }
            
            public virtual string DokDokNr {
                get {
                    return this.@__dokDokNr;
                }
                set {
                    this.@__dokDokNr = value;
                }
            }
            
            public virtual string DokDokSyndKuup {
                get {
                    return this.@__dokDokSyndKuup;
                }
                set {
                    this.@__dokDokSyndKuup = value;
                }
            }
            
            public virtual string DokDokKehtAlgus {
                get {
                    return this.@__dokDokKehtAlgus;
                }
                set {
                    this.@__dokDokKehtAlgus = value;
                }
            }
            
            public virtual string DokDokKehtLopp {
                get {
                    return this.@__dokDokKehtLopp;
                }
                set {
                    this.@__dokDokKehtLopp = value;
                }
            }
            
            public virtual string DokDokValjastamisKuup {
                get {
                    return this.@__dokDokValjastamisKuup;
                }
                set {
                    this.@__dokDokValjastamisKuup = value;
                }
            }
            
            public virtual string DokDokValjastaja {
                get {
                    return this.@__dokDokValjastaja;
                }
                set {
                    this.@__dokDokValjastaja = value;
                }
            }
            
            public virtual string DokDokStaatus {
                get {
                    return this.@__dokDokStaatus;
                }
                set {
                    this.@__dokDokStaatus = value;
                }
            }
        }
        
        public interface IDokType {
            
            string DokIsikIsikukood {
                get;
                set;
            }
            
            string DokIsikEesnimi {
                get;
                set;
            }
            
            string DokIsikPerenimi {
                get;
                set;
            }
            
            string DokIsikStaatus {
                get;
                set;
            }
            
            string DokDokRoll {
                get;
                set;
            }
            
            string DokDokIsikukood {
                get;
                set;
            }
            
            string DokDokEesnimi {
                get;
                set;
            }
            
            string DokDokPerenimi {
                get;
                set;
            }
            
            string DokDokVanaEnimi {
                get;
                set;
            }
            
            string DokDokVanaPerenimi {
                get;
                set;
            }
            
            string DokDokTyyp {
                get;
                set;
            }
            
            string DokDokRiik {
                get;
                set;
            }
            
            string DokDokSeeria {
                get;
                set;
            }
            
            string DokDokNr {
                get;
                set;
            }
            
            string DokDokSyndKuup {
                get;
                set;
            }
            
            string DokDokKehtAlgus {
                get;
                set;
            }
            
            string DokDokKehtLopp {
                get;
                set;
            }
            
            string DokDokValjastamisKuup {
                get;
                set;
            }
            
            string DokDokValjastaja {
                get;
                set;
            }
            
            string DokDokStaatus {
                get;
                set;
            }
        }
    }
}
